<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Irrlicht 3D Engine: irr::core::line2d&lt; T &gt; Class Template Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="irrlichtlogo.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Irrlicht 3D Engine
   
   </div>
   
  </td>
  
  
  
   
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
   
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="dynsections.js"></script>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classirr_1_1core_1_1line2d.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a>  </div>
  <div class="headertitle">
<div class="title">irr::core::line2d&lt; T &gt; Class Template Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="irr::core::line2d" -->
<p>2D line between two points with intersection methods.  
 <a href="classirr_1_1core_1_1line2d.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="line2d_8h_source.html">line2d.h</a>&gt;</code></p>

<p><a href="classirr_1_1core_1_1line2d-members.html">List of all members.</a></p>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="el" href="classirr_1_1core_1_1line2d.html#a7d0f25f93572eb73734da83da8490410">line2d</a> ()
<dl class="el"><dd class="mdescRight">Default constructor for line going from (0,0) to (1,1).  <a href="#a7d0f25f93572eb73734da83da8490410"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1line2d.html#af9614350cdb0527c190dcf3342ecb42e">line2d</a> (T xa, T ya, T xb, T yb)
<dl class="el"><dd class="mdescRight">Constructor for line between the two points.  <a href="#af9614350cdb0527c190dcf3342ecb42e"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1line2d.html#a447958017eba9f8667625b82c25f344c">line2d</a> (const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;<a class="el" href="classirr_1_1core_1_1line2d.html#ae9a3be281b33b15eb7de868b51651ad8">start</a>, const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;<a class="el" href="classirr_1_1core_1_1line2d.html#a339c443c3be2c006ac2f616a773f2863">end</a>)
<dl class="el"><dd class="mdescRight">Constructor for line between the two points given as vectors.  <a href="#a447958017eba9f8667625b82c25f344c"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1line2d.html#a19338e17d69fa3062709ebd7b7f73409">line2d</a> (const <a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt; T &gt; &amp;other)
<dl class="el"><dd class="mdescRight">Copy constructor.  <a href="#a19338e17d69fa3062709ebd7b7f73409"></a><br/></dl><li><a class="el" href="namespaceirr.html#a1325b02603ad449f92c68fc640af9b28">f64</a> <a class="el" href="classirr_1_1core_1_1line2d.html#a0f5dbd437c10e127d2797dd002ed3f98">getAngleWith</a> (const <a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt; T &gt; &amp;l) const 
<dl class="el"><dd class="mdescRight">Get angle between this line and given line.  <a href="#a0f5dbd437c10e127d2797dd002ed3f98"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1line2d.html#acf6060494506a97e09052e661f1b6014">getClosestPoint</a> (const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;point, bool checkOnlySegments=true) const 
<dl class="el"><dd class="mdescRight">Get the closest point on this line to a point.  <a href="#acf6060494506a97e09052e661f1b6014"></a><br/></dl><li>template&lt;&gt; <a class="el" href="namespaceirr_1_1core.html#a2cf08556d77f6f5a792973a6e27ed11b">vector2df</a> <a class="el" href="classirr_1_1core_1_1line2d.html#a8768141176461ebf0f49d64182108e6e">getClosestPoint</a> (const <a class="el" href="namespaceirr_1_1core.html#a2cf08556d77f6f5a792973a6e27ed11b">vector2df</a> &amp;point, bool checkOnlySegments) const
<li>T <a class="el" href="classirr_1_1core_1_1line2d.html#a2eb306d0e3db94712ece741bfadbfa55">getLength</a> () const 
<dl class="el"><dd class="mdescRight">Get length of line.  <a href="#a2eb306d0e3db94712ece741bfadbfa55"></a><br/></dl><li>T <a class="el" href="classirr_1_1core_1_1line2d.html#abd4c50d417c8d91401ff4bc59902ab35">getLengthSQ</a> () const 
<dl class="el"><dd class="mdescRight">Get squared length of the line.  <a href="#abd4c50d417c8d91401ff4bc59902ab35"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1line2d.html#a83b583161e402d93a2346a2dfbbd885c">getMiddle</a> () const 
<dl class="el"><dd class="mdescRight">Get middle of the line.  <a href="#a83b583161e402d93a2346a2dfbbd885c"></a><br/></dl><li>T <a class="el" href="classirr_1_1core_1_1line2d.html#ae9c006816863a6ec0e0eda497bc2ba96">getPointOrientation</a> (const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;point) const 
<dl class="el"><dd class="mdescRight">Tells us if the given point lies to the left, right, or on the line.  <a href="#ae9c006816863a6ec0e0eda497bc2ba96"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1line2d.html#aa504bac64b0ccd56786d6179809ecdd9">getUnitVector</a> () const 
<dl class="el"><dd class="mdescRight">Get unit vector of the line.  <a href="#aa504bac64b0ccd56786d6179809ecdd9"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1line2d.html#af6df3035ac8f217f86106ea88cc2e941">getVector</a> () const 
<dl class="el"><dd class="mdescRight">Get the vector of the line.  <a href="#af6df3035ac8f217f86106ea88cc2e941"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1line2d.html#a3ebdfe2b5dd3de6da61d7cb3030662e8">intersectWith</a> (const <a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt; T &gt; &amp;l, <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;out, bool checkOnlySegments=true) const 
<dl class="el"><dd class="mdescRight">Tests if this line intersects with another line.  <a href="#a3ebdfe2b5dd3de6da61d7cb3030662e8"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1line2d.html#a44e00a0ecc9604954f7b5507a3b1e067">isPointBetweenStartAndEnd</a> (const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;point) const 
<dl class="el"><dd class="mdescRight">Check if the given point is between start and end of the line.  <a href="#a44e00a0ecc9604954f7b5507a3b1e067"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1line2d.html#ad30c08c673c12674d29a942b657b9457">isPointOnLine</a> (const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;point) const 
<dl class="el"><dd class="mdescRight">Check if the given point is a member of the line.  <a href="#ad30c08c673c12674d29a942b657b9457"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1line2d.html#a6b11d575a1e248c2928ababb81638e87">operator!=</a> (const <a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt; T &gt; &amp;other) const 
<li><a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1line2d.html#a51af9b8fe28dd6b86ecdec1a4bb0b33b">operator+</a> (const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;point) const 
<li><a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1line2d.html#a65cf466904a15dd61311c1381e05cf8a">operator+=</a> (const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;point)
<li><a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1line2d.html#adf2a36aae4b47529e5675386dec27e2e">operator-</a> (const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;point) const 
<li><a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt; T &gt; &amp; <a class="el" href="classirr_1_1core_1_1line2d.html#a57edf657caac2f4c15ae8201fcef0e84">operator-=</a> (const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;point)
<li>bool <a class="el" href="classirr_1_1core_1_1line2d.html#afe1f119e95b91aafedab58c5019bdd1c">operator==</a> (const <a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt; T &gt; &amp;other) const 
<li>void <a class="el" href="classirr_1_1core_1_1line2d.html#a65224228a0681a6be6f2576fb0093a12">setLine</a> (const T &amp;xa, const T &amp;ya, const T &amp;xb, const T &amp;yb)
<dl class="el"><dd class="mdescRight">Set this line to new line going through the two points.  <a href="#a65224228a0681a6be6f2576fb0093a12"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1line2d.html#a2573eb6b41d08ae4ab16be2630168d3b">setLine</a> (const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;nstart, const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;nend)
<dl class="el"><dd class="mdescRight">Set this line to new line going through the two points.  <a href="#a2573eb6b41d08ae4ab16be2630168d3b"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1line2d.html#af7a159fc82aff5dcab173fcd24934df1">setLine</a> (const <a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt; T &gt; &amp;line)
<dl class="el"><dd class="mdescRight">Set this line to new line given as parameter.  <a href="#af7a159fc82aff5dcab173fcd24934df1"></a><br/></dl></ul>
<h2><a name="pub-attribs"></a>
Public Attributes</h2>
<ul>
<li><a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1line2d.html#a339c443c3be2c006ac2f616a773f2863">end</a>
<dl class="el"><dd class="mdescRight">End point of the line.  <a href="#a339c443c3be2c006ac2f616a773f2863"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1line2d.html#ae9a3be281b33b15eb7de868b51651ad8">start</a>
<dl class="el"><dd class="mdescRight">Start point of the line.  <a href="#ae9a3be281b33b15eb7de868b51651ad8"></a><br/></dl></ul>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;class T&gt;<br/>
class irr::core::line2d&lt; T &gt;</h3>

<p>2D line between two points with intersection methods. </p>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00018">18</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a7d0f25f93572eb73734da83da8490410"></a><!-- doxytag: member="irr::core::line2d::line2d" ref="a7d0f25f93572eb73734da83da8490410" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default constructor for line going from (0,0) to (1,1). </p>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00022">22</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

</div>
</div>
<a class="anchor" id="af9614350cdb0527c190dcf3342ecb42e"></a><!-- doxytag: member="irr::core::line2d::line2d" ref="af9614350cdb0527c190dcf3342ecb42e" args="(T xa, T ya, T xb, T yb)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a> </td>
          <td>(</td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>xa</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>ya</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>xb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>yb</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor for line between the two points. </p>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00024">24</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a447958017eba9f8667625b82c25f344c"></a><!-- doxytag: member="irr::core::line2d::line2d" ref="a447958017eba9f8667625b82c25f344c" args="(const vector2d&lt; T &gt; &amp;start, const vector2d&lt; T &gt; &amp;end)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>end</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor for line between the two points given as vectors. </p>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00026">26</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a19338e17d69fa3062709ebd7b7f73409"></a><!-- doxytag: member="irr::core::line2d::line2d" ref="a19338e17d69fa3062709ebd7b7f73409" args="(const line2d&lt; T &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy constructor. </p>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00028">28</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a0f5dbd437c10e127d2797dd002ed3f98"></a><!-- doxytag: member="irr::core::line2d::getAngleWith" ref="a0f5dbd437c10e127d2797dd002ed3f98" args="(const line2d&lt; T &gt; &amp;l) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceirr.html#a1325b02603ad449f92c68fc640af9b28">f64</a> <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::getAngleWith </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>l</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get angle between this line and given line. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">l</td><td>Other line for test. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Angle in degrees. </dd></dl>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00182">182</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="vector2d_8h_source.html#l00238">irr::core::vector2d&lt; T &gt;::getAngleWith()</a>, and <a class="el" href="line2d_8h_source.html#l00068">irr::core::line2d&lt; T &gt;::getVector()</a>.</p>

</div>
</div>
<a class="anchor" id="acf6060494506a97e09052e661f1b6014"></a><!-- doxytag: member="irr::core::line2d::getClosestPoint" ref="acf6060494506a97e09052e661f1b6014" args="(const vector2d&lt; T &gt; &amp;point, bool checkOnlySegments=true) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt;T&gt; <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::getClosestPoint </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>point</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>checkOnlySegments</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the closest point on this line to a point. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">checkOnlySegments,:</td><td>Default (true) is to return a point on the line-segment (between begin and end) of the line. When set to false the function will check for the first the closest point on the the line even when outside the segment. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00216">216</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="vector2d_8h_source.html#l00124">irr::core::vector2d&lt; T &gt;::dotProduct()</a>, <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, <a class="el" href="vector2d_8h_source.html#l00114">irr::core::vector2d&lt; T &gt;::getLength()</a>, <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>, <a class="el" href="vector2d_8h_source.html#l00316">irr::core::vector2d&lt; T &gt;::X</a>, and <a class="el" href="vector2d_8h_source.html#l00319">irr::core::vector2d&lt; T &gt;::Y</a>.</p>

</div>
</div>
<a class="anchor" id="a8768141176461ebf0f49d64182108e6e"></a><!-- doxytag: member="irr::core::line2d::getClosestPoint" ref="a8768141176461ebf0f49d64182108e6e" args="(const vector2df &amp;point, bool checkOnlySegments) const" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceirr_1_1core.html#a2cf08556d77f6f5a792973a6e27ed11b">vector2df</a> <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">irr::f32</a> &gt;::getClosestPoint </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceirr_1_1core.html#a2cf08556d77f6f5a792973a6e27ed11b">vector2df</a> &amp;&#160;</td>
          <td class="paramname"><em>point</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>checkOnlySegments</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00244">244</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="vector2d_8h_source.html#l00124">irr::core::vector2d&lt; T &gt;::dotProduct()</a>, and <a class="el" href="vector2d_8h_source.html#l00114">irr::core::vector2d&lt; T &gt;::getLength()</a>.</p>

</div>
</div>
<a class="anchor" id="a2eb306d0e3db94712ece741bfadbfa55"></a><!-- doxytag: member="irr::core::line2d::getLength" ref="a2eb306d0e3db94712ece741bfadbfa55" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::getLength </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get length of line. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Length of the line. </dd></dl>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00053">53</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, and <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>.</p>

<p>Referenced by <a class="el" href="line2d_8h_source.html#l00173">irr::core::line2d&lt; T &gt;::getUnitVector()</a>.</p>

</div>
</div>
<a class="anchor" id="abd4c50d417c8d91401ff4bc59902ab35"></a><!-- doxytag: member="irr::core::line2d::getLengthSQ" ref="abd4c50d417c8d91401ff4bc59902ab35" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::getLengthSQ </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get squared length of the line. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Squared length of line. </dd></dl>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00057">57</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, and <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>.</p>

</div>
</div>
<a class="anchor" id="a83b583161e402d93a2346a2dfbbd885c"></a><!-- doxytag: member="irr::core::line2d::getMiddle" ref="a83b583161e402d93a2346a2dfbbd885c" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt;T&gt; <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::getMiddle </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get middle of the line. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>center of the line. </dd></dl>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00061">61</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, and <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>.</p>

</div>
</div>
<a class="anchor" id="ae9c006816863a6ec0e0eda497bc2ba96"></a><!-- doxytag: member="irr::core::line2d::getPointOrientation" ref="ae9c006816863a6ec0e0eda497bc2ba96" args="(const vector2d&lt; T &gt; &amp;point) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::getPointOrientation </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tells us if the given point lies to the left, right, or on the line. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if the point is on the line &lt;0 if to the left, or &gt;0 if to the right. </dd></dl>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00192">192</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>, <a class="el" href="vector2d_8h_source.html#l00316">irr::core::vector2d&lt; T &gt;::X</a>, and <a class="el" href="vector2d_8h_source.html#l00319">irr::core::vector2d&lt; T &gt;::Y</a>.</p>

<p>Referenced by <a class="el" href="line2d_8h_source.html#l00200">irr::core::line2d&lt; T &gt;::isPointOnLine()</a>.</p>

</div>
</div>
<a class="anchor" id="aa504bac64b0ccd56786d6179809ecdd9"></a><!-- doxytag: member="irr::core::line2d::getUnitVector" ref="aa504bac64b0ccd56786d6179809ecdd9" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt;T&gt; <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::getUnitVector </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get unit vector of the line. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Unit vector of this line. </dd></dl>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00173">173</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, <a class="el" href="line2d_8h_source.html#l00053">irr::core::line2d&lt; T &gt;::getLength()</a>, and <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>.</p>

</div>
</div>
<a class="anchor" id="af6df3035ac8f217f86106ea88cc2e941"></a><!-- doxytag: member="irr::core::line2d::getVector" ref="af6df3035ac8f217f86106ea88cc2e941" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt;T&gt; <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::getVector </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the vector of the line. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The vector of the line. </dd></dl>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00068">68</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, and <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>.</p>

<p>Referenced by <a class="el" href="line2d_8h_source.html#l00182">irr::core::line2d&lt; T &gt;::getAngleWith()</a>.</p>

</div>
</div>
<a class="anchor" id="a3ebdfe2b5dd3de6da61d7cb3030662e8"></a><!-- doxytag: member="irr::core::line2d::intersectWith" ref="a3ebdfe2b5dd3de6da61d7cb3030662e8" args="(const line2d&lt; T &gt; &amp;l, vector2d&lt; T &gt; &amp;out, bool checkOnlySegments=true) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::intersectWith </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>l</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>checkOnlySegments</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tests if this line intersects with another line. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">l,:</td><td>Other line to test intersection with. </td></tr>
    <tr><td class="paramname">checkOnlySegments,:</td><td>Default is to check intersection between the begin and endpoints. When set to false the function will check for the first intersection point when extending the lines. </td></tr>
    <tr><td class="paramname">out,:</td><td>If there is an intersection, the location of the intersection will be stored in this vector. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if there is an intersection, false if not. </dd></dl>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00077">77</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, <a class="el" href="irr_math_8h_source.html#l00185">irr::core::equals()</a>, <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>, <a class="el" href="vector2d_8h_source.html#l00316">irr::core::vector2d&lt; T &gt;::X</a>, and <a class="el" href="vector2d_8h_source.html#l00319">irr::core::vector2d&lt; T &gt;::Y</a>.</p>

</div>
</div>
<a class="anchor" id="a44e00a0ecc9604954f7b5507a3b1e067"></a><!-- doxytag: member="irr::core::line2d::isPointBetweenStartAndEnd" ref="a44e00a0ecc9604954f7b5507a3b1e067" args="(const vector2d&lt; T &gt; &amp;point) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::isPointBetweenStartAndEnd </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if the given point is between start and end of the line. </p>
<p>Assumes that the point is already somewhere on the line. </p>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00208">208</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, <a class="el" href="vector2d_8h_source.html#l00259">irr::core::vector2d&lt; T &gt;::isBetweenPoints()</a>, and <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>.</p>

</div>
</div>
<a class="anchor" id="ad30c08c673c12674d29a942b657b9457"></a><!-- doxytag: member="irr::core::line2d::isPointOnLine" ref="ad30c08c673c12674d29a942b657b9457" args="(const vector2d&lt; T &gt; &amp;point) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::isPointOnLine </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if the given point is a member of the line. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if point is between start and end, else false. </dd></dl>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00200">200</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, <a class="el" href="line2d_8h_source.html#l00192">irr::core::line2d&lt; T &gt;::getPointOrientation()</a>, <a class="el" href="vector2d_8h_source.html#l00259">irr::core::vector2d&lt; T &gt;::isBetweenPoints()</a>, and <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>.</p>

</div>
</div>
<a class="anchor" id="a6b11d575a1e248c2928ababb81638e87"></a><!-- doxytag: member="irr::core::line2d::operator!=" ref="a6b11d575a1e248c2928ababb81638e87" args="(const line2d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::operator!= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00040">40</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, and <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>.</p>

</div>
</div>
<a class="anchor" id="a51af9b8fe28dd6b86ecdec1a4bb0b33b"></a><!-- doxytag: member="irr::core::line2d::operator+" ref="a51af9b8fe28dd6b86ecdec1a4bb0b33b" args="(const vector2d&lt; T &gt; &amp;point) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt;T&gt; <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00032">32</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, and <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>.</p>

</div>
</div>
<a class="anchor" id="a65cf466904a15dd61311c1381e05cf8a"></a><!-- doxytag: member="irr::core::line2d::operator+=" ref="a65cf466904a15dd61311c1381e05cf8a" args="(const vector2d&lt; T &gt; &amp;point)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt;T&gt;&amp; <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00033">33</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, and <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>.</p>

</div>
</div>
<a class="anchor" id="adf2a36aae4b47529e5675386dec27e2e"></a><!-- doxytag: member="irr::core::line2d::operator&#45;" ref="adf2a36aae4b47529e5675386dec27e2e" args="(const vector2d&lt; T &gt; &amp;point) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt;T&gt; <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00035">35</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, and <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>.</p>

</div>
</div>
<a class="anchor" id="a57edf657caac2f4c15ae8201fcef0e84"></a><!-- doxytag: member="irr::core::line2d::operator&#45;=" ref="a57edf657caac2f4c15ae8201fcef0e84" args="(const vector2d&lt; T &gt; &amp;point)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt;T&gt;&amp; <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00036">36</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, and <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>.</p>

</div>
</div>
<a class="anchor" id="afe1f119e95b91aafedab58c5019bdd1c"></a><!-- doxytag: member="irr::core::line2d::operator==" ref="afe1f119e95b91aafedab58c5019bdd1c" args="(const line2d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00038">38</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, and <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>.</p>

</div>
</div>
<a class="anchor" id="a65224228a0681a6be6f2576fb0093a12"></a><!-- doxytag: member="irr::core::line2d::setLine" ref="a65224228a0681a6be6f2576fb0093a12" args="(const T &amp;xa, const T &amp;ya, const T &amp;xb, const T &amp;yb)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::setLine </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>xa</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>ya</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>xb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>yb</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set this line to new line going through the two points. </p>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00045">45</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, and <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>.</p>

</div>
</div>
<a class="anchor" id="a2573eb6b41d08ae4ab16be2630168d3b"></a><!-- doxytag: member="irr::core::line2d::setLine" ref="a2573eb6b41d08ae4ab16be2630168d3b" args="(const vector2d&lt; T &gt; &amp;nstart, const vector2d&lt; T &gt; &amp;nend)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::setLine </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>nstart</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>nend</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set this line to new line going through the two points. </p>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00047">47</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, and <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>.</p>

</div>
</div>
<a class="anchor" id="af7a159fc82aff5dcab173fcd24934df1"></a><!-- doxytag: member="irr::core::line2d::setLine" ref="af7a159fc82aff5dcab173fcd24934df1" args="(const line2d&lt; T &gt; &amp;line)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::setLine </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>line</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set this line to new line given as parameter. </p>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00049">49</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>References <a class="el" href="line2d_8h_source.html#l00239">irr::core::line2d&lt; T &gt;::end</a>, and <a class="el" href="line2d_8h_source.html#l00237">irr::core::line2d&lt; T &gt;::start</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a339c443c3be2c006ac2f616a773f2863"></a><!-- doxytag: member="irr::core::line2d::end" ref="a339c443c3be2c006ac2f616a773f2863" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt;T&gt; <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1line2d.html#a339c443c3be2c006ac2f616a773f2863">end</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>End point of the line. </p>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00239">239</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>Referenced by <a class="el" href="line2d_8h_source.html#l00216">irr::core::line2d&lt; T &gt;::getClosestPoint()</a>, <a class="el" href="line2d_8h_source.html#l00053">irr::core::line2d&lt; T &gt;::getLength()</a>, <a class="el" href="line2d_8h_source.html#l00057">irr::core::line2d&lt; T &gt;::getLengthSQ()</a>, <a class="el" href="line2d_8h_source.html#l00061">irr::core::line2d&lt; T &gt;::getMiddle()</a>, <a class="el" href="line2d_8h_source.html#l00192">irr::core::line2d&lt; T &gt;::getPointOrientation()</a>, <a class="el" href="line2d_8h_source.html#l00173">irr::core::line2d&lt; T &gt;::getUnitVector()</a>, <a class="el" href="line2d_8h_source.html#l00068">irr::core::line2d&lt; T &gt;::getVector()</a>, <a class="el" href="line2d_8h_source.html#l00077">irr::core::line2d&lt; T &gt;::intersectWith()</a>, <a class="el" href="line2d_8h_source.html#l00208">irr::core::line2d&lt; T &gt;::isPointBetweenStartAndEnd()</a>, <a class="el" href="line2d_8h_source.html#l00200">irr::core::line2d&lt; T &gt;::isPointOnLine()</a>, <a class="el" href="line2d_8h_source.html#l00040">irr::core::line2d&lt; T &gt;::operator!=()</a>, <a class="el" href="line2d_8h_source.html#l00032">irr::core::line2d&lt; T &gt;::operator+()</a>, <a class="el" href="line2d_8h_source.html#l00033">irr::core::line2d&lt; T &gt;::operator+=()</a>, <a class="el" href="line2d_8h_source.html#l00035">irr::core::line2d&lt; T &gt;::operator-()</a>, <a class="el" href="line2d_8h_source.html#l00036">irr::core::line2d&lt; T &gt;::operator-=()</a>, <a class="el" href="line2d_8h_source.html#l00038">irr::core::line2d&lt; T &gt;::operator==()</a>, and <a class="el" href="line2d_8h_source.html#l00045">irr::core::line2d&lt; T &gt;::setLine()</a>.</p>

</div>
</div>
<a class="anchor" id="ae9a3be281b33b15eb7de868b51651ad8"></a><!-- doxytag: member="irr::core::line2d::start" ref="ae9a3be281b33b15eb7de868b51651ad8" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1vector2d.html">vector2d</a>&lt;T&gt; <a class="el" href="classirr_1_1core_1_1line2d.html">irr::core::line2d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1line2d.html#ae9a3be281b33b15eb7de868b51651ad8">start</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Start point of the line. </p>

<p>Definition at line <a class="el" href="line2d_8h_source.html#l00237">237</a> of file <a class="el" href="line2d_8h_source.html">line2d.h</a>.</p>

<p>Referenced by <a class="el" href="line2d_8h_source.html#l00216">irr::core::line2d&lt; T &gt;::getClosestPoint()</a>, <a class="el" href="line2d_8h_source.html#l00053">irr::core::line2d&lt; T &gt;::getLength()</a>, <a class="el" href="line2d_8h_source.html#l00057">irr::core::line2d&lt; T &gt;::getLengthSQ()</a>, <a class="el" href="line2d_8h_source.html#l00061">irr::core::line2d&lt; T &gt;::getMiddle()</a>, <a class="el" href="line2d_8h_source.html#l00192">irr::core::line2d&lt; T &gt;::getPointOrientation()</a>, <a class="el" href="line2d_8h_source.html#l00173">irr::core::line2d&lt; T &gt;::getUnitVector()</a>, <a class="el" href="line2d_8h_source.html#l00068">irr::core::line2d&lt; T &gt;::getVector()</a>, <a class="el" href="line2d_8h_source.html#l00077">irr::core::line2d&lt; T &gt;::intersectWith()</a>, <a class="el" href="line2d_8h_source.html#l00208">irr::core::line2d&lt; T &gt;::isPointBetweenStartAndEnd()</a>, <a class="el" href="line2d_8h_source.html#l00200">irr::core::line2d&lt; T &gt;::isPointOnLine()</a>, <a class="el" href="line2d_8h_source.html#l00040">irr::core::line2d&lt; T &gt;::operator!=()</a>, <a class="el" href="line2d_8h_source.html#l00032">irr::core::line2d&lt; T &gt;::operator+()</a>, <a class="el" href="line2d_8h_source.html#l00033">irr::core::line2d&lt; T &gt;::operator+=()</a>, <a class="el" href="line2d_8h_source.html#l00035">irr::core::line2d&lt; T &gt;::operator-()</a>, <a class="el" href="line2d_8h_source.html#l00036">irr::core::line2d&lt; T &gt;::operator-=()</a>, <a class="el" href="line2d_8h_source.html#l00038">irr::core::line2d&lt; T &gt;::operator==()</a>, and <a class="el" href="line2d_8h_source.html#l00045">irr::core::line2d&lt; T &gt;::setLine()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="line2d_8h_source.html">line2d.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceirr.html">irr</a>      </li>
      <li class="navelem"><a class="el" href="namespaceirr_1_1core.html">core</a>      </li>
      <li class="navelem"><a class="el" href="classirr_1_1core_1_1line2d.html">line2d</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht 
Engine</a> Documentation &copy; 2003-2012 by Nikolaus Gebhardt. Generated on Tue Jan 19 2016 16:08:49 for Irrlicht 3D Engine by
<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
